#ifndef QOPENHARMONYCAPTURESERVICE_H
#define QOPENHARMONYCAPTURESERVICE_H

#include <qmediaservice.h>
#include <qmediacontrol.h>

QT_BEGIN_NAMESPACE

class QOPenHarmonyCameraControl;
class QOPenHarmonyCameraSession;
class QOPenHarmonyCameraInfoControl;

class QOPenHarmonyCaptureService : public QMediaService
{
    Q_OBJECT

public:
    explicit QOPenHarmonyCaptureService(const QString &service, QObject *parent = nullptr);
    virtual ~QOPenHarmonyCaptureService();

    QMediaControl *requestControl(const char *name);
    void releaseControl(QMediaControl *);

private:
    QString m_service;
    QOPenHarmonyCameraSession *m_cameraSession;

    QOPenHarmonyCameraControl *m_cameraControl;
    QOPenHarmonyCameraInfoControl *m_cameraInfoControl;
};

QT_END_NAMESPACE

#endif // QOPENHARMONYCAPTURESERVICE_H
